package ui.View;

import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.layout.ColumnLayout;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Label;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.widgets.TextBox;
import org.uqbar.arena.widgets.tables.Column;
import org.uqbar.arena.widgets.tables.Table;
import org.uqbar.arena.windows.SimpleWindow;
import org.uqbar.arena.windows.WindowOwner;

import ui.modelApplication.ApplicationBuscador;
import ui.modelApplication.ModelAsiento;
import ui.modelApplication.ModelUsuario;

@SuppressWarnings("serial")
public class BuscadorWindow extends SimpleWindow<ApplicationBuscador>
{

	public BuscadorWindow(WindowOwner parent, ModelUsuario usuario)
	{
		super( parent, new ApplicationBuscador( usuario ) );
		this.getModelObject().setVentana(this);
		this.setTitle("Aterrizar.com");
		this.setTaskDescription("Ingrese los parametros que desee:");
	}

	@Override
	protected void addActions(Panel actionsPanel) 
	{
		Button comprarBoton = new Button(actionsPanel);
		comprarBoton.setCaption("Comprar");
		comprarBoton.onClick(new MessageSend(this.getModelObject(), "Comprar"));
		
		Button reservarBoton = new Button(actionsPanel);
		reservarBoton.setCaption("Reservar");
		reservarBoton.onClick(new MessageSend(this.getModelObject(), "Reservar"));
		
		Button cerrarBoton = new Button(actionsPanel);
		cerrarBoton.setCaption("Cerrar");
		cerrarBoton.onClick(new MessageSend(this, "close"));
		
	}

	@Override
	protected void createFormPanel(Panel mainPanel) 
	{
		mainPanel.setWidth(1000);
		Panel formPanel = new Panel(mainPanel);
		
			Panel parametrosPanel = new Panel(formPanel);
			parametrosPanel.setLayout(new ColumnLayout(4));
			parametrosPanel.setWidth(1000);
			
				Label origenLabel = new Label(parametrosPanel);
				origenLabel.setText("Origen: ");
				
				TextBox origenBox = new TextBox(parametrosPanel);
				origenBox.setWidth(250);
				origenBox.bindValueToProperty("origen");
				
				Label destinoLabel = new Label(parametrosPanel);
				destinoLabel.setText("Destino: ");
				
				TextBox destinoBox = new TextBox(parametrosPanel);
				destinoBox.setWidth(250);
				destinoBox.bindValueToProperty("destino");
				
				Label fechaLabel = new Label(parametrosPanel);
				fechaLabel.setText("Fecha: ");
				
				TextBox fechaBox = new TextBox(parametrosPanel);
				fechaBox.setWidth(250);
				fechaBox.bindValueToProperty("fecha");
			
			Button buscarBoton = new Button(formPanel);
			buscarBoton.setCaption("Buscar");
			buscarBoton.onClick( new MessageSend( this.getModelObject(), "Buscar" ) );
			
			Table<ModelAsiento> grillaAsientos = new Table<ModelAsiento>(formPanel, ModelAsiento.class);
			grillaAsientos.bindItemsToProperty("viajesEncontrados");
			grillaAsientos.bindSelection("seleccionado");
			grillaAsientos.setHeigth(200);
			grillaAsientos.setWidth(600);
				new Column<ModelAsiento>(grillaAsientos).setTitle("Aerolinea").setWeight(60).bindContentsToProperty("aerolinea");
				new Column<ModelAsiento>(grillaAsientos).setTitle("Vuelo").setWeight(60).bindContentsToProperty("codigoDeVuelo");
				new Column<ModelAsiento>(grillaAsientos).setTitle("Asiento").setWeight(30).bindContentsToProperty("codigoDeAsiento");
				new Column<ModelAsiento>(grillaAsientos).setTitle("Precio").setWeight(30).bindContentsToProperty("precio");
				new Column<ModelAsiento>(grillaAsientos).setTitle("Ubicacion").setWeight(40).bindContentsToProperty("ubicacion");
				new Column<ModelAsiento>(grillaAsientos).setTitle("Clase").setWeight(30).bindContentsToProperty("clase");
				
						
	}
	
}
